package com.heliang.dataaccess.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

// SQLiteHelper 作为一个访问sqlite的助手类，提供两个方面的功能
// 第一,getReadableDateBase(),getWriteDateBase()可以获得sqliteDateBase对象,通过这个对象对数据库进行操作
// 第二,提供onCreate()和onUpgrade()两个回调函数，允许我们在创建和升级数据库的时候进行操作

public class SQLiteHelper extends SQLiteOpenHelper{
	// version 当前数据库的版本 必须是正数
	private static final int VERSION = 1;
	
	// 在SQLiteOpenHelper子类中必须有该构造函数
	public SQLiteHelper(Context context,String name,CursorFactory cursorFactory,int version){
		// 必须调用父类中的构造函数
		super(context, name, cursorFactory, version);
	}
	
	public SQLiteHelper (Context context,String name){
		super(context,name,null,VERSION);
	}
	
	public SQLiteHelper (Context context,String name,int version){
		super(context,name,null,version);
	} 

	
	// 该函数是在第一次创建数据库的时候执行，实际上是第一次得到SQLDateBase对象的时候才会调用这个方法
	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		System.out.println("create database");
		db.execSQL( "create table user(id int ,userName varchar(20))" );
	}

	// 该函数用来更改sqlite版本信息
	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
		// TODO Auto-generated method stub
		System.out.println("updateDatabase");
		
	}

}
